home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Radiance Scene Description
- " Maintainer: Georg Mischler <schorsch@schorsch.com>
- " Last change: 26. April. 2001
-
- " Radiance is a lighting simulation software package written
- " by Gregory Ward-Larson ("the computer artist formerly known
- " as Greg Ward"), then at LBNL.
- "
- " http://radsite.lbl.gov/radiance/HOME.html
- "
- " Of course, there is also information available about it
- " from http://www.schorsch.com/
-
-
- " We take a minimalist approach here, highlighting just the
- " essential properties of each object, its type and ID, as well as
- " comments, external command names and the null-modifier "void".
-
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- " all printing characters except '#' and '!' are valid in names.
- if version >= 600
- setlocal iskeyword=\",$-~
- else
- set iskeyword=\",$-~
- endif
-
- " The null-modifier
- syn keyword radianceKeyword void
-
- " The different kinds of scene description object types
- " Reference types
- syn keyword radianceExtraType contained alias instance
- " Surface types
- syn keyword radianceSurfType contained ring polygon sphere bubble
- syn keyword radianceSurfType contained cone cup cylinder tube source
- " Emitting material types
- syn keyword radianceLightType contained light glow illum spotlight
- " Material types
- syn keyword radianceMatType contained mirror mist prism1 prism2
- syn keyword radianceMatType contained metal plastic trans
- syn keyword radianceMatType contained metal2 plastic2 trans2
- syn keyword radianceMatType contained metfunc plasfunc transfunc
- syn keyword radianceMatType contained metdata plasdata transdata
- syn keyword radianceMatType contained dielectric interface glass
- syn keyword radianceMatType contained BRTDfunc antimatter
- " Pattern modifier types
- syn keyword radiancePatType contained colorfunc brightfunc
- syn keyword radiancePatType contained colordata colorpict brightdata
- syn keyword radiancePatType contained colortext brighttext
- " Texture modifier types
- syn keyword radianceTexType contained texfunc texdata
- " Mixture types
- syn keyword radianceMixType contained mixfunc mixdata mixpict mixtext
-
-
- " Each type name is followed by an ID.
- " This doesn't work correctly if the id is one of the type names of the
- " same class (which is legal for radiance), in which case the id will get
- " type color as well, and the int count (or alias reference) gets id color.
-
- syn region radianceID start="\<alias\>" end="\<\k*\>" contains=radianceExtraType
- syn region radianceID start="\<instance\>" end="\<\k*\>" contains=radianceExtraType
-
- syn region radianceID start="\<source\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<ring\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<polygon\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<sphere\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<bubble\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<cone\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<cup\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<cylinder\>" end="\<\k*\>" contains=radianceSurfType
- syn region radianceID start="\<tube\>" end="\<\k*\>" contains=radianceSurfType
-
- syn region radianceID start="\<light\>" end="\<\k*\>" contains=radianceLightType
- syn region radianceID start="\<glow\>" end="\<\k*\>" contains=radianceLightType
- syn region radianceID start="\<illum\>" end="\<\k*\>" contains=radianceLightType
- syn region radianceID start="\<spotlight\>" end="\<\k*\>" contains=radianceLightType
-
- syn region radianceID start="\<mirror\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<mist\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<prism1\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<prism2\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<metal\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<plastic\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<trans\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<metal2\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<plastic2\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<trans2\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<metfunc\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<plasfunc\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<transfunc\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<metdata\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<plasdata\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<transdata\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<interface\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<glass\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<BRTDfunc\>" end="\<\k*\>" contains=radianceMatType
- syn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType
-
- syn region radianceID start="\<colorfunc\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<colordata\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<colorpict\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<colortext\>" end="\<\k*\>" contains=radiancePatType
- syn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType
-
- syn region radianceID start="\<texfunc\>" end="\<\k*\>" contains=radianceTexType
- syn region radianceID start="\<texdata\>" end="\<\k*\>" contains=radianceTexType
-
- syn region radianceID start="\<mixfunc\>" end="\<\k*\>" contains=radianceMixType
- syn region radianceID start="\<mixdata\>" end="\<\k*\>" contains=radianceMixType
- syn region radianceID start="\<mixtext\>" end="\<\k*\>" contains=radianceMixType
-
- " external commands (generators, xform et al.)
- syn match radianceCommand "^\s*!\s*[^\s]\+\>"
-
- " The usual suspects
- syn keyword radianceTodo contained TODO XXX
- syn match radianceComment "#.*$" contains=radianceTodo
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_radiance_syn_inits")
- if version < 508
- let did_radiance_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink radianceKeyword Keyword
- HiLink radianceExtraType Type
- HiLink radianceSurfType Type
- HiLink radianceLightType Type
- HiLink radianceMatType Type
- HiLink radiancePatType Type
- HiLink radianceTexType Type
- HiLink radianceMixType Type
- HiLink radianceComment Comment
- HiLink radianceCommand Function
- HiLink radianceID String
- HiLink radianceTodo Todo
- delcommand HiLink
- endif
-
- let b:current_syntax = "radiance"
-
- " vim: ts=8 sw=2
-